﻿namespace Ast.Core.Pe.Definitions
{
    public enum Subsystem : ushort
    {
        Unknown = 0, // Unknown subsystem.
        Native = 1, // Image doesn't require a subsystem.
        WindowsGui = 2, // Image runs in the Windows GUI subsystem.
        WindowsCui = 3, // Image runs in the Windows character subsystem.
        Os2Cui = 5, // image runs in the OS/2 character subsystem.
        PosixCui = 7, // image runs in the Posix character subsystem.
        Windows9xDriver = 8, // image is a native Win9x driver.
        WindowsCeGui = 9, // Image runs in the Windows CE subsystem.
        EfiApplication = 10, //
        EfiBootServiceDriver = 11, //
        EfiRuntimeDriver = 12, //
        EfiRom = 13,
        XBox = 14,
        WindowsBootApplication = 16
    }
}